#include<bits/stdc++.h>
#pragma GCC optimize("O3")
#define ll long long
#define se second
#define fi first
#define pb push_back
#define pf push_front
using namespace std;
long double rad = 57.295779513, pi = 3.1415926535;
int mod = 1000000007;
const int N = 4e5 + 17;
ll n , i , j;
string s;
void solve(){
//UwU
cin >> s;
sort(s.begin() , s.end());
if(s[0] == s[3]){
cout << -1;
return ;
}
int p = 0;
for(i = 1;i < 4; ++ i){
if(s[i] != s[i - 1]) p ++;
}
if(p + 1 == 2 and (s[0] != s[1] or s[2] != s[3])) cout << 6;
else cout << 4;
}
main()
{
//cout << v.size();
ios_base::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
ll T = 1;
cin >> T;
while(T --)
{
solve();
cout << '\n';
}
}
//anro
//musoxon
//#NOWAR
//atso city and yes this is city
//
1612A - Distance | 520A - Pangram |
124A - The number of positions | 1041A - Heist |
901A - Hashing Trees | 1283A - Minutes Before the New Year |
1654D - Potion Brewing Class | 1107B - Digital root |
25A - IQ test | 785A - Anton and Polyhedrons |
1542B - Plus and Multiply | 306A - Candies |
1651C - Fault-tolerant Network | 870A - Search for Pretty Integers |
1174A - Ehab Fails to Be Thanos | 1169A - Circle Metro |
780C - Andryusha and Colored Balloons | 1153A - Serval and Bus |
1487C - Minimum Ties | 1136A - Nastya Is Reading a Book |
1353B - Two Arrays And Swaps | 1490E - Accidental Victory |
1335A - Candies and Two Sisters | 96B - Lucky Numbers (easy) |
1151B - Dima and a Bad XOR | 1435B - A New Technique |
1633A - Div 7 | 268A - Games |
1062B - Math | 1294C - Product of Three Numbers |